#pragma once
#ifndef _EASYXINPUT_H_
#define _EASYXINPUT_H_
#include <map>
#include "Input.h"
#include "../../../third_party/EasyX/include/easy_wrapper.h"
#include <windows.h>
#include "../../Logic/Player.h"
class EasyXInput:public Input{
private:
    std::map<int,bool> keyStates;
    std::map<int,bool> mouseStates;
    std::pair<int,int> windowPos;//first : x /second : y
    int winWidth;
    int winHeight;
public:
    EasyXInput() {}
    ~EasyXInput()override{}

    bool init(Input* input) override;
    bool isKeyPressed(ExMessage* msg,Player*& player) override;
    bool isMousePressed(ExMessage* msg) override;
    easyx::ExMessage msg;
    std::pair<int,int>getMousePos() override;
    void handleEvents(Player*& player) override;

};
#endif
